
package Data;
import java.rmi.RemoteException;

/**
 *
 * @author Philipp Armbruster
 * @author Stefan Fellner
 */

public class FlightImpl
    extends java.rmi.server.UnicastRemoteObject
    implements Flight {

    /* Flugnummer */

        private int flightId;

    /* Abflugzeitpunkt */

        private String timeOfDeparture;

    /* Wochentag des Abfluges, z.B. "Montag" */

        private String dayOfDeparture;

    /* Ankunftszeitpunkt */

        private String timeOfArrival;

    /* Wochentag der Ankunft, z.B. "Montag" */

        private String dayOfArrival;

    /* Internatinale ID des Startflughafen */

        private String departureAirportId;

    /* Internationale ID des Zielflughafen */

        private String arrivalAirportId;

    /* ID der Fluglinie */

        private int airlineId;



    /* Konstruktor - Klasse Flugplanung - */

        public FlightImpl(String timeOfDeparture, String dayOfDeparture,
                String timeOfArrival, String dayOfArrival, String departureAirportId, String arrivalAirportId, int airlineId)
            throws java.rmi.RemoteException {

            this.timeOfDeparture = timeOfDeparture;
            this.timeOfArrival = timeOfArrival;
            this.dayOfDeparture = dayOfDeparture;
            this.dayOfArrival = dayOfArrival;
            this.departureAirportId = departureAirportId;
            this.arrivalAirportId = arrivalAirportId;
            this.airlineId = airlineId;
        }


    /* Set-Methoden */

        /**
        * Setzen einer Flugnummer.
        * @param flightId (Flugnummer)
        * @throws java.rmi.RemoteException
        */

        public void setFlightId(int flightId) throws java.rmi.RemoteException {
            this.flightId = flightId;
        }

        /**
        * Setzen einer Abfluguhrzeit.
        * @param timeOfDeparture (Abfluguhrzeit)
        * @throws java.rmi.RemoteException
        */

        public void setTimeOfDeparture(String timeOfDeparture) throws java.rmi.RemoteException {
            this.timeOfDeparture = timeOfDeparture;
        }

        /**
        * Setzen einer Ankunftsuhrzeit.
        * @param timeOfArrival (Ankunftsuhrzeit)
        * @throws java.rmi.RemoteException
        */

        public void setTimeOfArrival(String timeOfArrival) throws java.rmi.RemoteException {
            this.timeOfArrival = timeOfArrival;
        }

        /**
        * Setzen eines Abflugtages.
        * @param dayOfDeparture (Abflugwochentag)
        * @throws java.rmi.RemoteException
        */

        public void setDayOfDeparture(String dayOfDeparture) throws java.rmi.RemoteException {
            this.dayOfDeparture = dayOfDeparture;
        }

        /**
        * Setzen eines Ankunftstages.
        * @param dayOfArrival (Ankunftswochentag)
        * @throws java.rmi.RemoteException
        */

        public void setDayOfArrival(String dayOfArrival) throws java.rmi.RemoteException {
            this.dayOfArrival = dayOfArrival;
        }

        /**
        * Setzen der StartflughafenID.
        * @param int departureAirportId (Startflughafen)
        * @throws java.rmi.RemoteException
        */

        public void setDepartureAirportId(String departureAirportId) throws java.rmi.RemoteException {
            this.departureAirportId = departureAirportId;
        }

        /**
        * Setzen der ZielflughafenID.
        * @param int arrivalAirportId (Zielflughafen)
        * @throws java.rmi.RemoteException
        */

        public void setArrivalAirportId(String arrivalAirportId) throws java.rmi.RemoteException {
            this.arrivalAirportId = arrivalAirportId;
        }


        /**
        * Setzen der FluglinienID, die den Flug ausführt.
        * @param int airlineId
        * @throws java.rmi.RemoteException
        */

        public void setAirlineId(int airlineId) throws java.rmi.RemoteException{
            this.airlineId = airlineId;
        }

        
    /* Get-Methoden */

        /**
        * Auslesen der Flugnummer.
        * @return Flugnummer
        * @throws java.rmi.RemoteException
        */

        public int getFlightId() throws java.rmi.RemoteException {
            return this.flightId;
        }

        /**
        * Auslesen der Abflugszeit.
        * @return Abfluguhrzeit
        * @throws java.rmi.RemoteException
        */

        public String getTimeOfDeparture() throws java.rmi.RemoteException {
            return this.timeOfDeparture;
        }

        /**
        * Auslesen der Ankunftszeit.
        * @return Ankunftsuhrzeit
        * @throws java.rmi.RemoteException
        */

        public String getTimeOfArrival() throws java.rmi.RemoteException {
            return this.timeOfArrival;
        }

        /**
        * Auslesen des Abflugwochentages.
        * @return Wochentag des Abfluges
        * @throws java.rmi.RemoteException
        */

        public String getDayOfDeparture() throws java.rmi.RemoteException {
            return this.dayOfDeparture;
        }

        /**
        * Auslesen des Ankunftswochentages.
        * @return Wochentag der Ankunft
        * @throws java.rmi.RemoteException
        */

        public String getDayOfArrival() throws java.rmi.RemoteException {
            return this.dayOfArrival;
        }

        /**
        * Auslesen der StartflughafenId.
        * @return String departureAirportId
        * @throws java.rmi.RemoteException
        */

        public String getDepartureAirportId() throws java.rmi.RemoteException {
            return this.departureAirportId;
        }

        /**
        * Auslesen der ZielflughafenId.
        * @return String arrivalAirportId
        * @throws java.rmi.RemoteException
        */

        public String getArrivalAirportId() throws java.rmi.RemoteException {
            return this.arrivalAirportId;
        }

        /**
        * Auslesen der AirlineId, welche den Flug durchführen wird.
        * @return int airlineId
        * @throws java.rmi.RemoteException
        */

        public int getAirlineId() throws java.rmi.RemoteException{
            return this.airlineId;
        }

}
